package com.scott.ch040;

/**
 * @author 黄后林
 * @version 1.0
 * @note
 * @date 2021-12-18 15:26:34
 */
public class Client {

    public static void main(String[] args) {
        Data<String> data1 = new Data<>("scott");
        String name=data1.getData();
        System.out.println(name);
        System.out.println(name instanceof String);

        System.out.println("--------代码复用-----------");
        Data<Integer> data2 = new Data<>(23);
        Integer age= data2.getData();
        System.out.println(age);
        System.out.println(age instanceof Integer);

        // instanceof 用来判断对象的类型
        System.out.println("--------不用泛型默认就是Object-----------");
        // 如果不用泛型会咋样？
        Data data3= new Data(23);
        Object data = data3.getData();
        System.out.println(data);
        System.out.println(data instanceof Object);




        // 同1个泛型类 根据不同的数据类型创建对象的时候 本质上是同1份字节码 类类型
        System.out.println(data1.getClass() == data2.getClass());
        System.out.println(data2.getClass() == data3.getClass());

        System.out.println(data1.getClass());
        System.out.println(data2.getClass());
        System.out.println(data3.getClass());

    }
}
